package collection.Stream;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

public class StreamAPIDemo2 {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Random r=new Random();
        for (int i = 0; i <10 ; i++) {
            list.add(r.nextInt(10));

        }
        System.out.println(list);
        //获取集合中的所有偶数
        List<Integer> list2=list.stream()
                .filter(x->x%2==0)
                .collect(Collectors.toList());
        System.out.println(list2);

        //对集合去重
        List<Integer>  list3=list.stream()
        //该方法是Stream接口的一个方法，用于过滤掉流中重复的元素，只保留唯一的元素
                .distinct()
                .collect(Collectors.toList());
        System.out.println(list3);

       // List<Integer> list4=list.stream().sorted().collect(Collectors.toList());
        List<Integer> list4=list.stream().sorted((x1,x2)->x2-x1).collect(Collectors.toList());
    List<Integer> list5=list.stream()
            .map(x->x*5)//每个元素扩大5倍
            .filter(x->x%2==0)//保留所有偶数
            .distinct()//去除重复值
            .sorted((x1,x2)->x2-x1)//倒序
            .collect(Collectors.toList());
    System.out.println(list5);


    }

}
